package cn.yunlang.zhangZhongFei.controller;

import cn.yunlang.zhangZhongFei.service.SystemConfigService;
import cn.yunlang.zhangZhongFei.vo.response.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.yunlang.zhangZhongFei.entity.SystemConfig;
import javax.annotation.Resource;

@RestController
@RequestMapping("/SystemConfig")
@Api(tags = "系统配置")
public class SystemConfigController {

    @Resource
    private SystemConfigService systemConfigService;

    @ApiOperation("分页查")
    @GetMapping("/page")
    public R<IPage<SystemConfig>> page(@RequestParam Integer pageNo,
                                       @RequestParam Integer pageSize){
        return systemConfigService.pageConfig(pageNo, pageSize);
    }

    @GetMapping("/one")
    @ApiOperation("根据Id查一条")
    public R<SystemConfig> one(@RequestParam Long systemConfigId) {
        return systemConfigService.getOne(systemConfigId);
    }

    @GetMapping("/byKey")
    @ApiOperation("根据key获取系统配置")
    public R<SystemConfig> byKey(@RequestParam String key) {
        return systemConfigService.getByKey(key);
    }

    @PostMapping("/add")
    @ApiOperation("新增")
    public R<String> add(@RequestBody SystemConfig systemConfig) {
        return systemConfigService.addConfig(systemConfig);
    }

    @GetMapping("/delete")
    @ApiOperation("删除")
    public R<String> delete(@RequestParam Long systemConfigId) {
        return systemConfigService.deleteConfig(systemConfigId);
    }

    @PostMapping("/update")
    @ApiOperation("修改")
    public R<String> update(@RequestBody SystemConfig systemConfig) {
        return systemConfigService.updateConfig(systemConfig);
    }
}